// 目标：定义二叉树节点并实现左子树插入方法
// TODO: 补全 insert_left 方法
#[derive(Debug, PartialEq)]
struct TreeNode {
    value: i32,
    left: Option<Box<TreeNode>>,
    right: Option<Box<TreeNode>>,
}

impl TreeNode {
    fn new(value: i32) -> Self {
        TreeNode {
            value,
            left: None,
            right: None,
        }
    }

    fn insert_left(&mut self, value: i32) {
        // 你的代码
    }
}

#[test]
fn test_tree_node() {
    let mut root = TreeNode::new(10);
    root.insert_left(5);
    assert!(root.left.is_some());
}